#ifndef OPENGLWINDOW_H
#define OPENGLWINDOW_H

// first 
#include "PBO.h"

#include <QtGui>
#include <QtOpenGL>
#include <QGLWidget>
#include <QTimer>

// for OpenGLWindow::getGLError()
#ifndef GLERROR
#define GLERROR(e) case e: exception=#e; break;
#endif

/**
 * OpenGL frame widget.
 * Shows opengl scene being updated by frame timer.
 */
class OpenGLWindow : public QGLWidget
{
  Q_OBJECT

  public:
    OpenGLWindow(QWidget *parent);
    ~OpenGLWindow();
	PBO*  pbo;

  public slots:
    void update();
    
  private:
    void initializeGL();
    void resizeGL(int w, int h);
    void paintGL();

    QString getGLError();

  private:
	
    GLenum  glError;
    
    
};

#endif
